%ifdef CONFIG
{
  "HostFeatures": ["AVX"],
  "RegData": {
    "XMM2":  ["0x4142434445464748", "0x6162636465666768", "0x0000000000000000", "0x0000000000000000"],
    "XMM3":  ["0x5152535455565758", "0x6162636465666768", "0x0000000000000000", "0x0000000000000000"],
    "XMM4":  ["0x4142434445464748", "0x7172737475767778", "0x0000000000000000", "0x0000000000000000"],
    "XMM5":  ["0x5152535455565758", "0x7172737475767778", "0x0000000000000000", "0x0000000000000000"],
    "XMM6":  ["0x4142434445464748", "0x6162636465666768", "0x3132333435363738", "0x8182838485868788"],
    "XMM7":  ["0x4142434445464748", "0x6162636465666768", "0x3132333435363738", "0x9192939495969798"],
    "XMM8":  ["0x5152535455565758", "0x6162636465666768", "0x2122232425262728", "0x8182838485868788"],
    "XMM9":  ["0x4142434445464748", "0x7172737475767778", "0x3132333435363738", "0x9192939495969798"],
    "XMM10": ["0x4142434445464748", "0x6162636465666768", "0x2122232425262728", "0x9192939495969798"],
    "XMM11": ["0x5152535455565758", "0x7172737475767778", "0x2122232425262728", "0x9192939495969798"]
  }
}
%endif

lea rdx, [rel .data]

vmovapd ymm0, [rdx]
vmovapd ymm1, [rdx + 32]

vshufpd xmm2, xmm0, xmm1, 0b00
vshufpd xmm3, xmm0, xmm1, 0b01
vshufpd xmm4, xmm0, xmm1, 0b10
vshufpd xmm5, xmm0, xmm1, 0b11

vshufpd ymm6,  ymm0, ymm1, 0b0000
vshufpd ymm7,  ymm0, ymm1, 0b1000
vshufpd ymm8,  ymm0, ymm1, 0b0101
vshufpd ymm9,  ymm0, ymm1, 0b1010
vshufpd ymm10, ymm0, ymm1, 0b1100
vshufpd ymm11, ymm0, ymm1, 0b1111

hlt

align 32
.data:
dq 0x4142434445464748
dq 0x5152535455565758
dq 0x3132333435363738
dq 0x2122232425262728

dq 0x6162636465666768
dq 0x7172737475767778
dq 0x8182838485868788
dq 0x9192939495969798
